System and Method for Automated Off-Road Speed Control for a Vehicle

ABSTRACT

A method of providing automated control of vehicle speed in a driver assist mode may include receiving an operator selection of the driver assist mode and a target speed, monitoring vehicle speed, and generating a propulsive torque request and a braking torque request based on a difference between the target speed and the vehicle speed. The method may further include, responsive to vehicle speed being in a selected range from zero to about three miles per hour, initiating a low speed correction to automatically provide a variable modification to the propulsive torque request or the braking torque request.

TECHNICAL FIELD

Example embodiments generally relate to vehicle control algorithms and,more particularly, relate to a system and method for providing anoff-road driver assistance feature for speed control.

BACKGROUND

Navigating off-road terrain, or rugged trails, can often requirecoordinated application of both propulsive and braking torque.Traditionally, drivers control wheel speeds under such circumstances bymodulating the accelerator and brake pedals simultaneously, which can bedifficult to manage for even experienced drivers.

Thus, it may be desirable to develop a driver assistance feature thatcan be used to automate controlling speed during off-road drivingsituations for a more satisfying user experience.

BRIEF SUMMARY OF SOME EXAMPLES

In accordance with an example embodiment, a vehicle control system for avehicle may be provided. The system may include a controller, a userinterface and a torque control module. The controller may be operablycoupled to components and/or sensors of a vehicle to receive informationincluding vehicle speed. An operator may be enabled to use the userinterface to enter a target speed, the target speed, which is providedto the controller. The torque control module may be configured togenerate both a propulsive torque request and a braking torque requestbased on a difference between the target speed and the vehicle speed.The controller may be configured to control vehicle operation in any ofa plurality of operator selectable modes of operation. In one of themodes of operation, a low speed correction module may be activated overa selected range of vehicle speeds to automatically provide a variablemodification to the propulsive torque request or the braking torquerequest in response to a trigger event.

In another example embodiment, torque control module of a vehiclecontrol system may be provided. The torque control module may include apropulsive torque determiner configured to determine a propulsive torquerequest based on accelerator pedal position in a normal mode ofoperation, and a braking torque determiner configured to determine abraking torque request based on a brake pedal position during the normalmode of operation. In another selectable mode of operation, the torquecontrol module may be configured to generate both a propulsive torquerequest and a braking torque request based on a difference between atarget speed set by an operator and a measured vehicle speed. In theother selectable mode of operation, a low speed correction module thatis operably coupled to the torque control module may be activated over aselected range of vehicle speeds to automatically provide a variablemodification to the propulsive torque request or the braking torquerequest in response to a trigger event.

In another example embodiment, a method of providing automated controlof vehicle speed in a driver assist mode is provided. The method mayinclude receiving an operator selection of the driver assist mode and atarget speed, monitoring vehicle speed, and generating a propulsivetorque request and a braking torque request based on a differencebetween the target speed and the vehicle speed. The method may furtherinclude, responsive to vehicle speed being in a selected range from zeroto about three miles per hour, initiating a low speed correction toautomatically provide a variable modification to the propulsive torquerequest or the braking torque request.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 illustrates a block diagram of a vehicle control system inaccordance with an example embodiment;

FIG. 2 illustrates a block diagram of some components of the vehiclecontrol system of FIG. 1 in accordance with an example embodiment;

FIG. 3 illustrates the vehicle control system providing an overlaybraking torque at low speeds in accordance with an example embodiment;

FIG. 4 illustrates a plot of torque versus time for the overlay brakingtorque of an example embodiment;

FIG. 5 illustrates the vehicle control system providing a torquecorrection propulsive torque at low speeds in accordance with an exampleembodiment;

FIG. 6 illustrates a plot of torque versus time for the torquecorrection propulsive torque of an example embodiment;

FIG. 7 illustrates the vehicle control system providing a correctionassociated with an obstacle build term at low speeds in accordance withan example embodiment;

FIG. 8 illustrates a plot of torque versus time for the obstacle buildterm of an example embodiment; and

FIG. 9 illustrates a method of controlling a vehicle in accordance withan example embodiment.

DETAILED DESCRIPTION

Some example embodiments now will be described more fully hereinafterwith reference to the accompanying drawings, in which some, but not allexample embodiments are shown. Indeed, the examples described andpictured herein should not be construed as being limiting as to thescope, applicability or configuration of the present disclosure. Rather,these example embodiments are provided so that this disclosure willsatisfy applicable legal requirements. Like reference numerals refer tolike elements throughout. Furthermore, as used herein, the term “or” isto be interpreted as a logical operator that results in true wheneverone or more of its operands are true. As used herein, operable couplingshould be understood to relate to direct or indirect connection that, ineither case, enables functional interconnection of components that areoperably coupled to each other.

As noted above, two-pedal driving, or at least driving on terrain withsubstantial obstacles (e.g., rock-crawling) presents certain challenges.For example, a first challenge posed by this operational context is theneed to quickly transition from the significant propulsive forcerequired for a drive wheel to overcome or climb to the apex of anobstacle to the significant brake torque required to preventovershooting the driver's intended wheel positions after the vehicle aspassed the apex and is on the descending side of the obstacle. Anotherchallenge posed by this operational context is the balancing of brakeand propulsive torques while launching the vehicle from a standstillposition on a large grade, or on the ascending side of a significantobstacle. In this regard, it is typically desirable to enable a smoothforward vehicle motion and minimizing backward motion.

An operator may directly control the brake and propulsive torquesthrough operation of the accelerator and brake pedals. However, it maybe desirable to give operators the option to automate some of thefunctions associated with vehicle control in this context. A familiarautomated speed control function is commonly referred to as “cruisecontrol.” Generally speaking, cruise control allows the operator to seta target speed (or set point), and then measures current speed todetermine an error value by comparing the current and target speeds. Theautomated speed control function then closes the error value to zero ina continuous feedback loop in order to maintain vehicle speed as closeas possible to the target speed. However, within this context, it isknown that vehicle load (and perhaps other correction factors) must beconsidered in order to avoid significant overshoots or undershoots thatdegrade from the user experience. For example, while climbing a steepgrade, increased torque will be added due to the growing error value asthe grade increases.

Automated speed control similar to the cruise control example describedabove may be thought to be usable even for rock-crawling or otheroff-road driving situations, just with lower target speeds that would beadvisable for operation in such contexts. However, cruise controltypically controls only propulsive torque, and off-road drivingsituations require a combination of propulsive and braking torque toensure that roll-back is prevented (e.g., if the vehicle fails to climbover an obstacle), and that the overall experience is optimized.

To address this situation, many vehicle manufacturers have providedvehicle control systems capable of operating in off-road operationalcontexts by automating certain aspects of vehicle control. However, eventhese vehicle control systems, which are designed to control bothpropulsive and braking torque for off-road driving may face particularchallenges that remain difficult to overcome. For example, at very lowspeeds (e.g., from 0 to 3 mile per hour (mph), it can be difficult tocontrol vehicle speed. In this regard, wheel speed signals may havelower resolution in the very low speed range, and the error signalsgenerated in this range are also very small. Thus, the vehicle couldactually be stopped in some cases before a large enough error isgenerated to initiate certain actions.

Given that the very low speed range (e.g., up to 3 mph) is actually aspeed range where customers are most likely to operate in the mostchallenging of off-road environments (e.g., rock-crawling), it isimportant to focus on improving operation in this region in order toavoid unwanted speed oscillations and any instances of roll-back whenfailing to traverse a grade or obstacle. It may also be desirable tocontrol changes in driveline states while the vehicle control systemdescribed above is active.

Some example embodiments described herein may provide a driverassistance feature that can control the net torque applied at the wheelsof the vehicle in order to control the wheel speeds, but include speedcontrol strategies that also operate well at low speeds. Some exampleembodiments may therefore provide a control system that allows thedriver to select automated speed control for off-road drivingconditions, and such speed control may initiate specific strategies thatimprove performance in the most challenging of situations that arelikely to be encountered. As such, some example embodiments may providean improved system for vehicle control that can yield benefits in bothcustomer confidence and vehicle capability. As a result, vehicleperformance and driver satisfaction may also be improved.

FIG. 1 illustrates a block diagram of a control system 100 of an exampleembodiment. The components of the control system 100 may be incorporatedinto a vehicle 110 (e.g., via being operably coupled to a chassis of thevehicle 110, various components of the vehicle 110 and/or electroniccontrol systems of the vehicle 110). Of note, although the components ofFIG. 1 may be operably coupled to the vehicle 110, it should beappreciated that such connection may be either direct or indirect.Moreover, some of the components of the control system 100 may beconnected to the vehicle 110 via intermediate connections to othercomponents either of the chassis or of other electronic and/ormechanical systems or components.

The control system 100 may have a normal mode of operation that includesan input device in the form of control pedals. The pedals may include abrake pedal and an accelerator pedal pivotally mounted to the floor ofthe vehicle 110, and operable by an operator 125. The brake pedal maygenerally be used to provide inputs for control of braking torque, andthe accelerator pedal may be used to provide inputs for control ofpropulsive torque. However, the normal mode of operation may not bedesirable for all cases. Moreover, selectable other modes of operation,including one or more off-road driver assistance modes may also exist.Accordingly, the control system 100 of some example embodiments mayfurther include a user interface 120. The operator 125 may operate theuser interface 120, which may include or define a mode selector to shiftout of the normal mode of operation and into any of the other modes ofoperation. In one example embodiment, the other modes of operation thatcan be selected by the operator 125 via the user interface 120 mayinclude an off-road driver assistance mode. Of note, although the termoff-road driver assistance mode will generally be referred to herein asbeing the mode in which example embodiments are performed, the name ofthe mode in which example embodiments may be applied is not important,and certainly not limiting. Other terms like trail control mode, or anyother descriptive terms for a mode in which the functionality describedherein is applied, are also possible.

In the off-road driver assistance mode, the pedals may not be theprimary source of input for controlling operation of the vehicle 110.The pedals may either be disabled or may be enabled to provide additiveinput relative to automatic control that may be initiated by a torquecontrol module 130 of the control system 100 as described in greaterdetails below.

Accordingly, the control system 100 of example embodiments may alsoinclude the torque control module 130, which may be part of or otherwiseoperably coupled to a controller 140. The torque control module 130 maybe configured to determine net torque as described herein based oninputs from any or all of the controller 140, the user interface 120 orother components of the vehicle 110. In some cases, the controller 140may be part of an electronic control system of the vehicle 110 that isconfigured to perform other tasks related or not related to propulsiveand braking control or performance management. However, the controller140 could be a dedicated or standalone controller in some cases.

In an example embodiment, the controller 140 may receive informationthat is used to determine vehicle status from various components orsubassemblies 150 of the vehicle 100. Additionally or alternatively,various sensors that may be operably coupled to the components orsubassemblies 150 may be included, and may provide input to thecontroller 140 that is used in determining vehicle status. Such sensorsmay be part of a sensor network 160 and sensors of the sensor network160 may be operably coupled to the controller 140 (and/or the componentsor subassemblies 150) via a vehicle communication bus (e.g., acontroller area network (CAN) bus) 165.

The components or subassemblies 150 may include, for example, a brakeassembly, a propulsion system and/or a wheel assembly of the vehicle110. The brake assembly may be configured to provide braking inputs tobraking components of the vehicle 110 (e.g., friction brakes andelectrical methods of braking such as regenerative braking) based on abraking torque determined by the controller 140 and/or torque controlmodule 130. The propulsion system may include a gas engine, electricmotor, or any other suitable propulsion device. The controller 140and/or torque control module 130 may be configured to determinepropulsive torque inputs for provision to the propulsion system to applypropulsive torque to the wheels of the wheel assembly of the vehicle110. Moreover, one or more corresponding sensors of the sensor network160 that may be operably coupled to the brake assembly and/or the wheelassembly may provide information relating to brake torque, brake torquerate, vehicle velocity, vehicle acceleration, front/rear wheel speeds,vehicle pitch, etc. Other examples of the components or subassemblies150 and/or corresponding sensors of the sensor network 160 may provideinformation relating to yaw, lateral G force, throttle position,selector button positions associated with chassis and/or vehicle controlselections, etc.

Accordingly, for example, the controller 140 may be able to receivenumerous different parameters, indications and other information thatmay be related to or indicative of different situations or conditionsassociated with vehicle status. The controller 140 may also receiveinformation indicative of the intent of the operator 125 relative tocontrol of various aspects of operation of the vehicle 110 and then beconfigured to use the information received in association with theexecution of one or more control algorithms that may be used to provideinstructions to the torque control module 130 in order to controlapplication of net torque to the wheels of the wheel assembly of thevehicle 110.

In an example embodiment, the operator 125 may use the user interface120 to select the off-road driver assistance mode and define a targetspeed at which the vehicle 110 should operate for off-road driving underautomated speed control. Such selection may correspondingly activate thetorque control module 130 to provide the automated speed control basedon information provided by the components or subassemblies 150 and/orcorresponding sensors of the sensor network 160 based on the errormeasured between the current speed and the target speed. Operation ofthe torque control module 130 will be described in greater detail belowin reference to FIG. 2.

As noted above, when the torque control module 130 is active, andautomated controls have been selected, it may also be desirable tocontrol (or limit) changes in driveline state. A driveline state controlmodule 170 may therefore be included in order to provide information tothe torque control module 130 to protect a driveline 180 of the vehicle110. In this regard, for example, the driveline 180 may include frontand rear axles, drive components for the front and rear axles and/or thecomponents that provide coupling therebetween. Thus, for example, thedriveline 180 may include gears and/or clutch components that operablycouple the front and rear axles (and/or their driving components).

In an example embodiment, the driveline state control module 170 mayinterface with the torque control module 130 in order to monitorconditions (including the direction associated with vehicle speed) whena driveline state change is requested by the operator 125 while thetorque control module 130 is active. In particular, the driveline statecontrol module 170 may be configured to provide information to thetorque control module 130 to enable the torque control module 130 toevaluate such information and, if necessary or appropriate, reducepropulsive torque during the state shift while the driveline statecontrol module 170 monitors the direction associated with vehicle speed.If the direction changes (i.e., if the speed direction goes from forwardor positive to rearward or negative), then braking torque may be applieduntil the vehicle 110 is stopped. While stopped, and held at the stoppedcondition, the state change may proceed. When the state change iscompleted, the torque control module 130 may resume normal operation.Moreover, if the speed direction never changes, the vehicle 110 willalso not be directed to stop, and continued propulsive torque (albeit ata reduced value) may be applied until the state change is completed.

Referring now to FIG. 2, operation of the controller 140 and the torquecontrol module 130 will be described in greater detail. FIG. 2illustrates a block diagram of various components of the control system100 in greater detail. In this regard, for example, FIG. 2 illustratesexample interactions between the controller 140 and the torque controlmodule 130 relative to information received thereby (e.g., from thesensor network 160, from various ones of the components/subassemblies150, and/or from the user interface 120). Processing circuitry (e.g., aprocessor 210 and memory 220) at the controller 140 may process theinformation received by running one or more control algorithms. Thecontrol algorithms may include instructions that can be stored by thememory 220 for retrieval and execution by the processor 210. In somecases, the memory 220 may further store one or more tables (e.g., lookup tables) and various calculations and/or applications may be executedusing information in the tables and/or the information as describedherein.

The processor 210 may be configured to execute the control algorithms inseries or in parallel. However, in an example embodiment, the processor210 may be configured to execute multiple control algorithms in parallel(e.g., simultaneously) and substantially in real time. The controlalgorithms may be configured to perform various calculations based onthe information received/generated regarding specific conditions ofvehicle components. The control algorithms may therefore execute variousfunctions based on the information received, and generate outputs todrive the control of net torque applied at the wheels of the vehicle110. The torque control module 130 may itself be a control algorithm, ormay include control algorithms in the form of functional modules (orsub-modules) configured to perform specific functions for which they areconfigured relating to control of the vehicle 110 in the mannerdescribed herein. Thus, for example, the controller 140 may actuallyfunction as the torque control module 130 responsive to executing thecontrol algorithms. However, in other cases, the torque control module130 may be a component or module of the controller 140, or an entirelyseparate component (e.g., possibly also including its own correspondingprocessing circuitry).

In an example embodiment, the information upon which the controlalgorithms operate may include a target speed 230. In this regard, thetarget speed 230 may be selected by the operator 125 via the userinterface 120 of FIG. 1, and may then be provided to the torque controlmodule 130 and/or controller 140 for use as described in greater detailbelow. The information upon which the control algorithms operate mayalso include vehicle speed 232. Vehicle speed 232 may be provided from aspeedometer of the vehicle 110, from global positioning system (GPS)information, or any other suitable source including detectors capable ofmeasuring wheel speed for each individual one of the wheels of thevehicle 110.

In an example embodiment, the torque control module 130 may beconfigured to include a propulsive torque determiner 240. In general,the propulsive torque determiner 240 may be configured to receiveinformation (e.g., including target speed 230, vehicle speed 232, and acorrection factor 234) in order to determine a propulsive torque 242 tobe applied to a propulsion system 244 of the vehicle 110 (e.g., agasoline engine, electric motor, and/or the like). In other words,propulsive torque 242 may be considered to be representative of apropulsive torque request, or a request for a corresponding determinedamount of propulsive torque.

In an example embodiment, the torque control module 130 may also beconfigured to include a braking torque determiner 250. In general, thebraking torque determiner 250 may be configured to receive information(e.g., including target speed 230, vehicle speed 232, and the correctionfactor 234) in order to determine a braking torque 252 to be applied toa braking system 254 of the vehicle 110. In other words, braking torque252 may be considered to be representative of a braking torque request,or a request for a corresponding determined amount of braking torque.

In an example embodiment, the controller 140 (and/or the torque controlmodule 130) may be configured to determine an error or difference valuebased on comparing the vehicle speed 232 to the target speed 230, andmay control the application of the propulsive torque 242 to thepropulsion system 244 and the braking torque 252 to the braking system254 based on the error signal. However, this simple control system tendsto oscillate too much. Accordingly, the controller 140 (and/or thetorque control module 130) may be configured as a PID(proportional-integral-derivative) controller that is further configuredto apply the correction factor 234 to the differences otherwisedetermined. The correction factor 234 may be determined based onproportional, integral and derivative terms and may be the same ordifferent for corresponding propulsive torque 242 or braking torque 252calculations.

Accordingly, for example, the propulsive torque determiner 240 and/orthe braking torque determiner 250 may be configured to determine thepropulsive torque 242 and/or the braking torque 252, respectively, viaerror calculations that are modified based on the correction factor 234.Additionally or alternatively, a propulsive torque map or a brakingtorque map may be constructed and used to balance the informationindicative received in order to infer the desired propulsive torqueand/or desired braking torque. In an example embodiment, such maps maydefine nominal values of error and provide corresponding torque valuesprior to adjustment based on the correction factor 234 (and/or otherinformation or variables that may be provided by the sensor network 160and/or various ones of the components/subassemblies 150.

In an example embodiment, the correction factor 234 may be generated bya correction module 260. The correction module 260 may be any means suchas a device or circuitry embodied in either hardware, or a combinationof hardware and software that is configured to perform the correspondingfunctions of the correction module 260 at least with respect togeneration of the correction factor 234. As noted above, the correctionfactor 234 may incorporate proportional, integral and derivative terms.One issue that arises at low speeds is that the error (e.g., between thevehicle speed 232 and the target speed 230) is so low by virtue of thesmall magnitudes of the speed values, that it may be possible for thevehicle 110 to come to a stop prior to generating an actionable errorvalue. In a typical situation, simply adjusting gain values for thecorrection factor 234 may address this issue. However, adjusting gainsupward for values in this region may result in excessive oscillations inspeed and may even cause or fail to prevent roll-back situations. Thus,some additional action may be advisable.

Accordingly, example embodiments may employ a low speed correctionmodule 270 that is configured to operate only at low speeds, and toprovide improved performance in this operating range without performinggain adjustments to the proportional, integral and/or derivative terms.In some example embodiments, the low speed correction module 270 may beconfigured to generate a low speed correction factor 272 that providescompensation similar to the correction factor 234, but is onlyapplicable at the low speed range during which the low speed correctionmodule 270 is active. As can be appreciated by this description, thecontroller 140 may therefore use the vehicle speed 232 as a selectioncriteria for activation the low speed correction module 270. Thecorrection module 260 may therefore always be active in accordance withthe programming and configuration assigned thereto. Meanwhile, in thelow speed operating range (e.g., 0 to about 3 mph), the low speedcorrection module 270 may be activated in order to operate in parallelwith the correction module 260 (or in series therewith). Accordingly,for example, the low speed correction module 270 may be configured toprovide the low speed correction factor 272 directly to the torquecontrol module 130 for generation of propulsive torque 242 and/orbraking torque 244 as shown in FIG. 2. However, in some alternatives,the low speed correction factor 272 could instead be applied to thecorrection module 260 to modify the correction factor 234 or influencegeneration of the correction factor 234. In such an example, thecorrection factor 234 may be understood to have been modified from thevalue normally generated by the correction module 260 based onapplication of the low speed correction factor 272 from the low speedcorrection module 270.

In an example embodiment, the low speed correction module 270 may beconfigured to perform one or more low speed control strategies, each ofwhich may cause the low speed correction factor 272 to be generated toapply changes to torque values output by one or both of the propulsivetorque determiner 240 and the braking torque determiner 250. The lowspeed control strategies may include application of a brake torqueoverlay, a low speed torque correction, and an obstacle build term (orzero speed torque correction), which will be described in greater detailbelow. As such, the low speed correction module 270 may automaticallyoperate over a selected range of speeds (e.g., up to 3 mph) when in anoperator-selected mode for which such automated operation is requested.The operator-selected mode may be an option instead of a normal mode ofoperation in which the brake torque request for the braking system 254is provided (directly or via the brake torque determiner 250) by a brakepedal 280. Similarly, in the normal mode, the propulsive torque requestfor the propulsion system 244 may be provided (directly or via thepropulsive torque determiner 240) by an accelerator pedal 282.

FIG. 3 illustrates a block diagram of an example in which theapplication of brake torque overlay is employed. In an exampleembodiment, the application of the brake torque overlay may include theoverlaying of a small amount of brake torque with an offsetting increasein propulsion torque to the base values otherwise generated by the braketorque determiner 250 and the propulsive torque determiner 240,respectively. In other words, the value generated as the braking torque252 may include a base braking value 300 determined by the brake torquedeterminer 250 based on normal operation of the torque control module130 (i.e., without operation of the low speed correction module 270, oronly with the correction factor 234 applied) plus an overlay brakingtorque 310 generated by the low speed correction module 270. Meanwhile,the value generated as the propulsive torque 242 may include the basepropulsion value 320 determined by the propulsive torque determiner 240based on normal operation of the torque control module 130 (i.e.,without operation of the low speed correction module 270, or only withthe correction factor 234 applied) plus an offsetting propulsive torque330 generated by the low speed correction module 270.

The overlay braking torque 310 and the offsetting propulsive torque 330may cancel each other out in net effect. However, the existence of theoverlay braking torque 310 ensures that there is a baseline or existingbrake force always applied so that, for example, if the vehicle 110should start to roll-back, there is no delay in application of braketorque since the overlay braking torque 310 is already being applied.The brake torque overlay strategy may therefore reduce the need toswitch quickly between the calculated and produced values for propulsivetorque 242 and braking torque 252, which could have some delayassociated therewith. In this regard, since the braking torque 252 isalways in opposition to the direction of motion of the vehicle 110(whether forward or reverse), the overlay braking torque 310instantaneously switches direction if the vehicle 110 experiences achange in direction (which may happen in a roll-back scenario). Sincethe overlay braking torque 310 is already present, roll-back may beopposed and either significantly reduced or even prevented.

In an example embodiment, the low speed correction module 270 may have atable or set of mapped values that correspond to respective differentspeeds, or may be a constant value that is linearly (or nonlinearly)reduced from a low end of the speed range over which the overlay brakingtorque 310 is applicable (e.g., 0 to 3 mph) to the high end of the speedrange. Thus, for example, if the maximum value (OBT_(max)) for theoverlay braking torque 310 is applied at a speed of 0 mph, the value ofoverlay braking torque 310 may linearly decrease from OBT_(max) to 0over the range of speeds from 0 mph to 3 mph. FIG. 4 illustrates threerespective different control paradigms for the overlay braking torque310 including linear control 391, step control 393, and non-linearcontrol 395.

FIG. 5 illustrates a block diagram of an example in which theapplication of low speed torque correction (e.g., a torque boost orspring at low speeds) is employed. In an example embodiment, theapplication of low speed torque correction may also be provided to havea decreasing effect over the range of speeds for which the low speedtorque correction is applicable (e.g., 0 to 1 mph) as speed increases.In other words, low speed torque correction may be a maximum closer tozero speed, and may decrease (e.g., linearly or non-linearly) over therange of speeds to which low speed torque correction applies.

Given that only small speed errors are generated before the vehicle 110comes to a stop at very low speeds, and that it is undesirable to simplyincrease gain values as discussed above, the low speed torque correctionmay directly address this situation in a positive way. In this regard,for example, the low speed torque correction may add a positivepropulsive torque value as the vehicle speed approaches zero, wherespeed resolution is relatively poor. The low speed torque correction maytherefore allow for smoother control at minimum set speeds, and may alsominimize vehicle stopping, which negatively impacts the user experience.

In some examples, as shown in FIG. 5, the low speed correction factor272 may be embodied as or otherwise include a torque correctionpropulsive torque 400 or torque correction boost that is added to theoutput of the propulsive torque determiner 240 so that the low speedtorque correction effectively introduces a boost to the value generatedas the propulsive torque 242 based on normal operation of the torquecontrol module 130 (i.e., without operation of the low speed correctionmodule 270, or only with the correction factor 234 applied). Thepropulsive torque 242 that is generated during operation of the lowspeed correction module 270 may therefore include a base propulsionvalue 410 determined by the propulsive torque determiner 240 normallyplus the torque correction propulsive torque 400 generated by the lowspeed correction module 270.

In an example embodiment, the low speed correction module 270 may definethe low speed torque correction based on a table or set of mapped valuesthat correspond to respective different speeds, or may be a constantvalue that is linearly (or nonlinearly) reduced from a low end of thespeed range over which the low speed torque correction is applicable(e.g., 0 to 1 mph) to the high end of the speed range. Thus, forexample, if the maximum value (LSS) for the torque correction propulsivetorque 400 is applied at a speed of 0 mph, the value of torquecorrection propulsive torque may linearly decrease from LSS to 0 overthe range of speeds from 0 mph to 1 mph. FIG. 6 illustrates threerespective different control paradigms for the torque correctionpropulsive torque 400 including linear control 491, step control 493,and non-linear control 495.

As can be appreciated from the examples of FIGS. 3-6, the low speedtorque correction may be applied over a smaller range of speeds (e.g., 0to 1 mph) than the range of speeds over which the brake torque overlayis applied (e.g., 0 to 3 mph). Thus, the low speed torque correction maybe applied less often than the brake torque overlay. Moreover, in somecases, although both the low speed torque correction and the braketorque overlay could be independently applied in a mutually exclusivefashion, it is also contemplated that the low speed torque correctionand the brake torque overlay may be applied simultaneously. As such, thefeedback loop for matching vehicle speed 232 to the target speed 230 mayinclude compensation for both of these effects simultaneously.

In an example embodiment, the obstacle build term 500 may also be addedto modify operation of the torque control module 130 as shown in FIG. 7.The obstacle build term 500 (which may also be referred to as a zerospeed torque correction) may address the challenge of encountering asteep grade (e.g., a curb, rock, prominent object or other obstacle). Inthis regard, for example, when the wheel of the vehicle 110 encountersthe steep grade (or object) and progress in traversing the grade orobject slows or stops, it is undesirable to allow a roll-back. To avoidthe roll-back, it may be advisable to increase propulsive torque for anyperiod of time during which the vehicle 110 is stopped. The propulsivetorque 242 may therefore increase, the longer the vehicle 110 isstopped. To achieve this result, the obstacle build term 500 may beadded to a base propulsion value 510 otherwise determined by thepropulsion torque determiner 240 and added thereto. Moreover, theobstacle build term 500 (which may act as a type of integral term thatincreases with time) may build slowly over time, and decay away rapidlyafter the vehicle 110 is no longer stopped, as shown in FIG. 8. As such,a timer 520 may be included in the low speed correction module 270 tomeasure the time over which the vehicle 110 is stopped. The low speedcorrection module 270 may be configured to generate the obstacle buildterm 500 to build slower than it decays or ramps out. This slow build upand rapid decay feature of the obstacle build term 500 may help to avoidovershooting when the vehicle 110 overcomes the grade or obstacle. Theobstacle build term 500 may be applied independent of or simultaneouslywith the application of low speed torque correction and brake torqueoverlay. In some cases, braking torque may also be applied to bring thevehicle 110 to a stop any time a direction of motion opposite the targetis sensed while the system is active. In some examples, a torquereduction (e.g., in response to a driveline state change) may also beseen as a trigger condition. Braking may therefore be applied untilpropulsive torque is high enough to move the vehicle 110 in the intendeddirection of travel.

As can be appreciated from the descriptions above, the overlay brakingtorque 310 (including the corresponding propulsive offset), the torquecorrection propulsive torque 400 and the obstacle build term 500 areeach examples of a variable modification to a propulsive torque requestor a braking torque request that is issued by the propulsive torquedeterminer 240 and/or the brake torque determiner 250 in response to atrigger event. The trigger events all occur over the range of operationof the low speed correction module 270 (e.g., 0-3 mph) automaticallywhen the corresponding trigger event is detected within that range ofspeeds, while in the corresponding operator selectable mode (i.e., thetrail control mode, or off-road driver assistance mode).

As noted above, the control algorithms described above (and potentiallyothers as well) may be executed in parallel and in real time by thecontroller 140. The execution of the control algorithms in parallel witheach other may result in multiple potentially different directions(i.e., increasing/decreasing) and magnitudes of torque requests.Accordingly, the propulsive torque 242 and the braking torque 252 maycombine to define a net torque value that dictates how the vehicle 110operates at each instant in time.

Example embodiments may therefore enable full control of the net torquerequest made of the vehicle 110 for many different situations when amode selection is made to operate in the trail control mode, or off-roaddriver assistance mode, and operation occurs in the low speed range(e.g., 0 to 3 mph). Example embodiments may therefore provide operatorswith the ability to select boosted operational capabilities for optimaloff-road driving capability that can enhance driver confidence andvehicle capabilities. Example embodiments may also enable the user ormanufacturers to have the ability to configure various aspects of theuser experience by changing various parameters relating to propulsivecontrol, brake control, trigger events, the variable modifications, etc.

FIG. 9 illustrates a block diagram of one example method of providingautomated control of vehicle speed in a driver assist mode (e.g., anoff-road driver assist mode) is provided. The method may includereceiving an operator selection of the driver assist mode and a targetspeed at operation 900, monitoring vehicle speed at operation 910, andgenerating a propulsive torque request and a braking torque requestbased on a difference between the target speed and the vehicle speed atoperation 920. The method may further include, responsive to vehiclespeed being in a selected range from zero to about three miles per hour,initiating a low speed correction to automatically provide a variablemodification to the propulsive torque request or the braking torquerequest at operation 930.

Example embodiments may therefore also include a vehicle control system,which may include a controller, a user interface and a torque controlmodule. The controller may be operably coupled to components and/orsensors of a vehicle to receive information including vehicle speed. Anoperator may be enabled to use the user interface to enter a targetspeed, the target speed, which is provided to the controller. The torquecontrol module may be configured to generate both a propulsive torquerequest and a braking torque request based on a difference between thetarget speed and the vehicle speed. The controller may be configured tocontrol vehicle operation in any of a plurality of operator selectablemodes of operation. In one of the modes of operation, a low speedcorrection module may be activated over a selected range of vehiclespeeds to automatically provide a variable modification to thepropulsive torque request or the braking torque request in response to atrigger event.

The system of some embodiments may include additional features,modifications, augmentations and/or the like to achieve furtherobjectives or enhance performance of the system. The additionalfeatures, modifications, augmentations and/or the like may be added inany combination with each other. Below is a list of various additionalfeatures, modifications, and augmentations that can each be addedindividually or in any combination with each other. For example, thetorque control module may include a propulsive torque determinerconfigured to determine the propulsive torque request and a brakingtorque determiner configured to determine the braking torque request.The trigger event may include the vehicle speed being in the selectedrange from zero to a first threshold speed. In an example embodiment,the variable modification may be a maximum value at zero and may reduceto zero by the first threshold speed. In some cases, the variablemodification reduces to zero by a second threshold speed that is lessthan the first threshold speed. In an example embodiment, the firstthreshold speed may be about three miles per hour and the secondthreshold speed may be about one mile per hour, and the variablemodification may include a torque correction propulsive torque added toa base propulsion torque determined by the propulsive torque determiner.In some cases, the variable modification may include an overlay brakingtorque added to a base braking torque determined by the brake torquedeterminer, and an offsetting propulsive torque added to a basepropulsion torque determined by the propulsive torque determiner. In anexample embodiment, the trigger event may include vehicle stopping, andthe variable modification may include an obstacle build term thatincludes a torque boost value that increases as time stopped increases.In some cases, the obstacle build term may decrease responsive tovehicle motion at a faster rate than a rate of increase during the timestopped. In an example embodiment, the system may further include adriveline state control module that is operably coupled to the torquecontrol module to indicate conditions necessary to reduce the propulsivetorque request and monitor a direction of vehicle speed responsive to adriveline state change request while in the one of the modes ofoperation. In some cases, the driveline state control module may beconfigured to instruct the torque control module to apply braking torqueto stop the vehicle responsive to a change of direction in vehicle speeduntil the state change is complete.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe exemplary embodiments in the context of certainexemplary combinations of elements and/or functions, it should beappreciated that different combinations of elements and/or functions maybe provided by alternative embodiments without departing from the scopeof the appended claims. In this regard, for example, differentcombinations of elements and/or functions than those explicitlydescribed above are also contemplated as may be set forth in some of theappended claims. In cases where advantages, benefits or solutions toproblems are described herein, it should be appreciated that suchadvantages, benefits and/or solutions may be applicable to some exampleembodiments, but not necessarily all example embodiments. Thus, anyadvantages, benefits or solutions described herein should not be thoughtof as being critical, required or essential to all embodiments or tothat which is claimed herein. Although specific terms are employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

That which is claimed:
 1. A vehicle control system comprising: acontroller operably coupled to components and/or sensors of a vehicle toreceive information including vehicle speed; a user interface via whichan operator is enabled to enter a target speed, the target speed beingprovided to the controller; and a torque control module configured togenerate both a propulsive torque request and a braking torque requestbased on a difference between the target speed and the vehicle speed,wherein the controller is configured to control vehicle operation in anyof a plurality of operator selectable modes of operation, and wherein,in one of the modes of operation, a low speed correction module isactivated over a selected range of vehicle speeds to automaticallyprovide a variable modification to the propulsive torque request or thebraking torque request in response to a trigger event.
 2. The system ofclaim 1, wherein the torque control module comprises a propulsive torquedeterminer configured to determine the propulsive torque request and abraking torque determiner configured to determine the braking torquerequest, and wherein the trigger event comprises the vehicle speed beingin the selected range from zero to a first threshold speed.
 3. Thesystem of claim 2, wherein the variable modification is a maximum valueat zero and reduces to zero by the first threshold speed.
 4. The systemof claim 3, wherein the variable modification reduces to zero by asecond threshold speed that is less than the first threshold speed. 5.The system of claim 4, wherein the first threshold speed is about threemiles per hour and the second threshold speed is about one mile perhour, and wherein the variable modification comprises a torquecorrection propulsive torque added to a base propulsion torquedetermined by the propulsive torque determiner.
 6. The system of claim3, wherein the variable modification comprises an overlay braking torqueadded to a base braking torque determined by the brake torquedeterminer, and an offsetting propulsive torque added to a basepropulsion torque determined by the propulsive torque determiner.
 7. Thesystem of claim 2, wherein the trigger event comprises vehicle stopping,and wherein the variable modification comprises an obstacle build termthat includes a torque boost value that increases as time stoppedincreases.
 8. The system of claim 7, wherein the obstacle build termdecreases responsive to vehicle motion above a threshold.
 9. The systemof claim 1, further comprising a driveline state control module operablycoupled to the torque control module to reduce the propulsive torquerequest and monitor a direction of vehicle speed responsive to adriveline state change request while in the one of the modes ofoperation.
 10. The system of claim 9, wherein the driveline statecontrol module is configured to enable the torque control module toapply braking torque to stop the vehicle responsive to a change ofdirection in vehicle speed until the state change is complete.
 11. Avehicle control system comprising a driveline state control module and atorque control module, the driveline state control module comprisingprocessing circuitry configured to: communicate a driveline state changerequest to the torque control module; and monitor a direction of vehiclespeed responsive to the driveline state change request to enable thetorque control module to apply braking torque to stop the vehicleresponsive to a change of direction in vehicle speed until the statechange is complete.
 12. The system of claim 11, wherein the torquecontrol module comprises: a propulsive torque determiner configured todetermine a propulsive torque request based on accelerator pedalposition in a normal mode of operation; and a braking torque determinerconfigured to determine a braking torque request based on a brake pedalposition during the normal mode of operation, wherein, in anotherselectable mode of operation, the torque control module is configured togenerate both a propulsive torque request and a braking torque requestbased on a difference between a target speed set by an operator and ameasured vehicle speed, and wherein, in the other selectable mode ofoperation, a low speed correction module that is operably coupled to thetorque control module is activated over a selected range of vehiclespeeds to automatically provide a variable modification to thepropulsive torque request or the braking torque request in response to atrigger event.
 13. The torque control module of claim 12, wherein thetrigger event comprises vehicle speed in the selected range from zero toa first threshold speed, and wherein the variable modification is amaximum value at zero and reduces to zero by the first threshold speed.14. The torque control module of claim 13, wherein the variablemodification reduces to zero by a second threshold speed that is lessthan the first threshold speed.
 15. The torque control module of claim14, wherein the first threshold speed is about three miles per hour andthe second threshold speed is about one mile per hour, and wherein thevariable modification comprises a torque correction propulsive torqueadded to a base propulsion torque determined by the propulsive torquedeterminer.
 16. The torque control module of claim 13, wherein thevariable modification comprises an overlay braking torque added to abase braking torque determined by the brake torque determiner, and anoffsetting propulsive torque added to a base propulsion torquedetermined by the propulsive torque determiner.
 17. The torque controlmodule of claim 12, wherein the trigger event comprises vehiclestopping, and wherein the variable modification comprises an obstaclebuild term that includes a torque boost value that increases as timestopped increases.
 18. The torque control module of claim 17, whereinthe obstacle build term decreases responsive to vehicle motion at aspeed above a threshold.
 19. The torque control module of claim 11,further comprising a driveline state control module operably coupled tothe torque control module to reduce the propulsive torque request andmonitor a direction of vehicle speed responsive to a driveline statechange request while in the one of the modes of operation, and whereinthe driveline state control module is configured to enable the torquecontrol module to apply braking torque to stop the vehicle responsive toa change of direction in vehicle speed until the state change iscomplete.
 20. A method of providing automated control of vehicle speedin a driver assist mode; the method comprising: receiving an operatorselection of the driver assist mode and a target speed; monitoringvehicle speed; generating a propulsive torque request and a brakingtorque request based on a difference between the target speed and thevehicle speed; and responsive to vehicle speed being in a selected rangefrom zero to about three miles per hour, initiating a low speedcorrection to automatically provide a variable modification to thepropulsive torque request or the braking torque request.